// components/CartTitle/CartTitle.js
Component({
  //为自定义组件添加外部样式类，允许外界动态传递class值并且将外部定义的样式随class值传递到组件内部从而实现组件局部样式允许外部定制
  externalClasses:["custom-class", "title-class", "grid-class"],
  options:{
    //设置当前自定义组件使用多插槽模式，默认为false
    multipleSlots:true
  },
  /**
   * 组件的属性列表
   */
  properties: {
      title:{
        type: String,
        value:null
      },
      subTitle:{
         type: String,
         value:null
      },
      //该属性用来控制标题的排布方式
      veritical:{
         type: Boolean,
         value: false
      },
      showBg:{
         type:Boolean,
         value:false
      },
      columnNum:{
        type: Number,
        value:2
      },
      gutter:{
        type:Number,
        value:10
      },
      // 该属性用来允许外界定制宫格的数量
      gridNum:{
        type:Number,
        value:4
      },
      border:{
         type:Boolean,
         value:false
      }
  },
  
  /**
   * 组件的初始数据
   */
  data: {
      //该数组用来确定宫格的具体数量
      grids:[]
  },
  //为组件添加生命周期 
  lifetimes:{
     attached(){
         //代表该组件被初始化并且加载，此时完成数组的数据添加操作
         let items = [];
         for(let i = 0; i < this.properties.gridNum; i++){
              items.push(i);
         }
         //setData微信小程序用来修改data数据的方法，该方法会将给定的对象和data原来的数据进行对象合并，合并之后强制页面进行动态刷新
         this.setData({
            grids: items
         });
     }
  },
  /**
   * 组件的方法列表
   */
  methods: {

  }
})